// 引入koa框架
const Koa = require('koa')
// 引入API插件
const Router = require('koa-router')
// 引入签名插件
const { Wechat } = require('wechat-jssdk')
// 初始化签名
const wx = new Wechat({
  appId: 'wxe733093faa04b8aa',
  appSecret: '24f11b6815515016170c4ffeb6977e65'
})


// 初始化koa
const app = new Koa()
// 初始化API插件
const router = new Router()

// 后端服务端口号
const port = 3000

// 声明一个get接口
/**
 * 参数1：后台API路径
 * 参数2: 后台接口处理逻辑
 */
router.get('/api/sign', async (ctx) => {
  // 获取前端同学传递的查询参数
  console.log('query:', ctx.request.query)
  // 需要签名调用js-sdk的前端页面地址
  let signUrl = ctx.request.query.signUrl
  // 接口处理逻辑=>查询数据库=》把数据返回给前端同学
  const signData = await wx.jssdk.getSignature(signUrl)
  // 把数据返回给前端同学
  ctx.body = {
    status: 200,
    msg: '获取签名数据成功！',
    data: signData
  }
})

// router.get('/api/oth', (ctx) => {
//   ctx.body = {
//     status: 200,
//     msg: '请求成功！',
//     data: 123
//   }
// })

// 注册使用API
app.use(router.routes())

// 使用koa（多次调用）
app.use((ctx) => {
  // 给浏览器body返回的数据
  ctx.body = '<h1>hello koa!</h1>'
})

// 开启koa服务器
app.listen(port, () => console.log(`公众号后台服务运行在${port}...`))